package org.example.project.search.data


data class SCSuggestionRsp(
    val shErrNo: Int? = null,
    val strErrMsg: String? = null,
    val tInfo: Info? = null,
    val vSuggestionList: List<SuggestionData>? = null,
    val strUrl: String? = null,
    val mergeSugData: List<MergeSCSugRsp>? = null,
    val vSuggestionHintList: List<SuggestionHintData>? = null,
    val _classname: String? = null,
)


data class SuggestionHintData(
    val hint_text: String? = null,
    val hint_index: Int? = null,
    val hint_type: Int? = null,
    val _classname: String? = null,
)


data class MergeSCSugRsp(
    val cityNamme: String? = null,
    val vSuggestionList: List<SuggestionData>? = null,
    val flod_num: Int? = null,
    val short_cityname: String? = null,
    val _classname: String? = null,
)


data class SuggestionData(
    val uiAdcode: Long? = null,
    val strAddr: String? = null,
    val strClasses: String? = null,
    val strFullName: String? = null,
    val strName: String? = null,
    val strPlace: String? = null,
    val stPos: Point? = null,
    val strShow: String? = null,
    val uiType: Long? = null,
    val uiTypeCode: Long? = null,
    val strUid: String? = null,
    val stCity: City? = null,
    val sub: List<SgSubData>? = null,
    val dist: String? = null,
    val co_type: Int? = null,
    val subpois: List<SgSubPois>? = null,
    val strClass: String? = null,
    val strAccess: String? = null,
    val star_level: Int? = null,
    val lines: List<SgPassLine>? = null,
    val realtime: BusRealtimeInfo? = null,
    val strPOIErrInfo: String? = null,
    val strNPLColor: String? = null,
    val reviewTag: List<RichReviewTag>? = null,
    val districtType: Int? = null,
    val searchdirect: SearchDirect? = null,
    val shortAddr: String? = null,
    val pic_url: String? = null,
    val recallTag: List<RichReviewTag>? = null,
    val showDis: String? = null,
    val priceInfo: String? = null,
    val icons: List<richTag>? = null,
    val miniapp: MiniApp? = null,
    val carAppInfos: List<CarAppInfo>? = null,
    val label_type: String? = null,
    val label_color: String? = null,
    val themeTipInfo: ThemeTipInfo? = null,
    val building_id: String? = null,
    val shinei_id: String? = null,
    val floor_id: String? = null,
    val floor_name: String? = null,
    val alias_type: String? = null,
    val alias: String? = null,
    val highlight_list: List<Int>? = null,
    val highlight_text: String? = null,
    val area: String? = null,
    val additional_info: Map<String, String>,
    // todo 转换类型
    val rawData: List<Int>? = null,
    val dataType: Int? = null,
    val service_area: ServiceAreaObj? = null,
    val poi_info: NewContainInfo? = null,
    val rich_sources: List<RichSource>? = null,
    val sug_guess: sugGuessInfo? = null,
    val insideClass: String? = null,
    val isShinei: Int? = null,
    val chargeTag: List<String>? = null,
    val gate: String? = null,
    val _classname: String? = null,
)


data class guessItem(
    var name: String? = null,
    var url: String? = null,
    var icon: String? = null,
    var _classname: String? = null,
)


data class sugGuessInfo(
    var mould: Int? = null,
    var name: String? = null,
    var url: String? = null,
    var icon: String? = null,
    var describe: String? = null,
    var sublist: List<guessItem>? = null,
    var p_type: String? = null,
    var h_type: Int? = null,
    var _classname: String? = null
)


data class RichSource(
    var bid: String? = null,
    var m_url: String? = null,
    var name: String? = null,
    var p_url: String? = null,
    var rich_category: String? = null,
    var rich_source: String? = null,
    var _classname: String? = null,
)


data class TipsInfo(
    var content: String? = null,
    var color: String? = null,
    var status: String? = null,
    var _classname: String? = null,
)


data class SignInfo(
    var pic: String? = null,
    var status: String? = null,
    var error_code: String? = null,
    var _classname: String? = null,
)


data class NewContainInfo(
    var title: TipsInfo? = null,
    var detail: TipsInfo? = null,
    var look: TipsInfo? = null,
    var sign: SignInfo? = null,
    var poi_info_url: String? = null,
    var poi_info_type: String? = null,
    var poi_info_tag: String? = null,
    var _classname: String? = null,
)


data class ServiceObjstruct(
    var is_service: Int? = null,
    var service_id: String = "",
    var service_name: String = "",
    var _classname: String = "poiquery.ServiceObjstruct"
)


data class ServiceAreaObj(
    var high_speed_code: String? = null,
    var high_speed_name: String? = null,
    var service: List<ServiceObjstruct>? = null,
    var oil_brand_name: String? = null,
    var oil_brand_id: String? = null,
    var oil_type: String? = null,
    var _classname: String? = null
)


data class ThemeTipInfo(
    var themeTipType: Int? = null,
    var movieUrl: String? = null,
    var text: String? = null,
    var spanText: String? = null,
    var iconUrl: String? = null,
    var textColor: String? = null,
    var spanColor: String? = null,
    var queryText: String? = null,
    var descText: List<String>? = null,
    var descColor: String? = null,
    var _classname: String? = null,
)


data class CarAppInfo(
    var appId: String? = null,
    var appLogo: String? = null,
    var appName: String? = null,
    var appVersion: String? = null,
    var color: String? = null,
    var cpPoiId: String? = null,
    var pagesPath: String? = null,
    var path: String? = null,
    var poiStatus: String? = null,
    var priority: Int? = null,
    var tags: String? = null,
    var _classname: String? = null
)


data class MiniApp(
    var app_id: String? = null,
    var url: String? = null,
    var mould: Int? = null,
    var icon: String? = null,
    var app_name: String? = null,
    var app_describe: String? = null,
    var app_label: String? = null,
    var appButton: List<AppButton>? = null,
    var cardStyle: CardStyle? = null,
    var p_type: String? = null,
    var isMiniApp: Boolean = false,
    var h_type: Int? = null,
    var _classname: String? = null,
)


data class AppButton(
    val button_name: String? = null,
    val button_url: String? = null,
    val button_id: String? = null,
    var _classname: String? = null
)


data class CardStyle(
    var bgColor: String? = null,
    var bgImageUrl: String? = null,
    var titleColor: String? = null,
    var introTextColor: String? = null,
    var tagColor: String? = null,
    var tagBoundColor: String? = null,
    var serviceBorderColor: String? = null,
    var serviceTitleColor: String? = null,
    var serviceBgColor: String? = null,
    var bgBoundColor: String? = null,
    var _classname: String? = null,
)


data class Point(
    val longitude: Double? = null,
    val latitude: Double? = null,
    val _classname: String? = null,
)


data class City(
    val code_name: CityCodeAndName? = null,
    val ctype: Int? = null,
    val level: Int? = null,
    val point: Point? = null,
    val bus: Int? = null,
    val path: List<CityCodeAndName>? = null,
    val _classname: String? = null,
)


data class CityCodeAndName(
    var ccode: Int? = null,
    var cname: String? = null,
    var acode: Int? = null,
    var ctype: Int? = null,
    var _classname: String? = null,
)


data class SgSubData(
    var uiAdcode: Int? = null,
    var strAddr: String? = null,
    var strClasses: String? = null,
    var strName: String? = null,
    var strPlace: String? = null,
    var stPos: Point? = null,
    var uiType: Long? = null,
    var uiTypeCode: Int? = null,
    var strUid: String? = null,
    var strCity: String? = null,
    var strClass: String? = null,
    var strAccess: String? = null,
    var star_level: Int? = null,
    var lines: List<SgPassLine>? = null,
    val _classname: String? = null,
)


data class SgPassLine(
    val strName: String? = null,
    val strColor: String? = null,
    val _classname: String? = null,
)


data class richTag(
    val tagType: Int? = null,
    val tagUrl: String? = null,
    val _classname: String? = null,
)


data class BusRealtimeInfo(
    val status: Int? = null,
    val num: Int? = null,
    val _classname: String? = null,
)


data class SgSubPois(
    var adcode: Int? = null,
    var addr: String? = null,
    var city: String? = null,
    var classes: String? = null,
    var dist: String? = null,
    var name: String? = null,
    var place: String? = null,
    var point: Point? = null,
    var show: String? = null,
    var type: Long? = null,
    var typecode: Int? = null,
    var uid: String? = null,
    var strClass: String? = null,
    var strAccess: String? = null,
    var star_level: Int? = null,
    var lines: List<SgPassLine>? = null,
    var reviewTag: List<RichReviewTag>? = null,
    var slave: Slave? = null,
    var chargeTag: List<String>? = null,
    var building_id: String? = null,
    var shinei_id: String? = null,
    var floor_id: String? = null,
    var floor_name: String? = null,
    var insideClass: String? = null,
    var isShinei: Int? = null,
    var gate: String? = null,
    var _classname: String? = null,
)


data class RichReviewTag(
    var tag_name: String? = null,
    var tag_num: Int? = null,
    var tag_type: String? = null,
    var tagColor: String? = null,
    var border_color: String? = null,
    var background_color: String? = null,
    var font_color: String? = null,
    var _classname: String? = null,
)


data class Slave(
    val slave_prob: Float? = null,
    val slave_color: String? = null,
    val _classname: String? = null,
)


data class SearchDirect(
    val name: String? = null,
    val city: String? = null,
    val p_name: String? = null,
    val p_word: String? = null,
    val p_type: String? = null,
    val url: String? = null,
    val icon: String? = null,
    val _classname: String? = null,
)


data class Info(
    val type: Int? = null,
    val error: Int? = null,
    val time: Int? = null,
    val total: Int? = null,
    val mum: Int? = null,
    val line_total: Int? = null,
    val line_num: Int? = null,
    val station_num: Int? = null,
    val hint: Int? = null,
    val fold_type: Int? = null,
    val fold_num: Int? = null,
    val fold_addr: String? = null,
    val marks: Int? = null,
    val qc_num: Int? = null,
    val core_query: String? = null,
    val cp_type: Int? = null,
    val query_type: Int? = null,
    val need_adjust: Int? = null,
    val is_show_map: Int? = null,
    val rnum: Int? = null,
    val land_mark: Int? = null,
    val discount_search: Int? = null,
    val start: BusQuery? = null,
    val dest: BusQuery? = null,
    val error_int: Int? = null,
    val request_id: String? = null,
    val qc_type: Int? = null,
    val jumpback: Int? = null,
    val noqrbacklink: Int? = null,
    val start_query: String? = null,
    val end_query: String? = null,
    val start_type: Int? = null,
    val end_type: Int? = null,
    val by_type: Int? = null,
    val custom_start_type: Int? = null,
    val custom_end_type: Int? = null,
    val custom_type: Int? = null,
    val muticity: Int? = null,
    val tail_exist: Int? = null,
    val tail_text: String? = null,
    val tail_url: String? = null,
    val citybar_exist: Int? = null,
    val highlight_freq: Int? = null,
    val add_info: Map<String, String>? = null,
    val _classname: String? = null
)


data class BusQuery(
    val backlink: BackLink? = null,
    val bus_ccode: Int? = null,
    val bus_cname: String? = null,
    val bus_type: Int? = null,
    val hint: Int? = null,
    val nonstop: Int? = null,
    val query: String? = null,
    val rnum: Int? = null,
    val total: Int? = null,
    val what_query: String? = null,
    val _classname: String? = null,
)


data class BackLink(
    val type: Int? = null,
    val ccode: Int? = null,
    val cname: String? = null,
    val query: String? = null,
    val _classname: String? = null,
)
